<?php


/*
* Copyright (c) 2008-2016 vip.com, All Rights Reserved.
*
* Powered by com.vip.osp.osp-idlc-2.5.11.
*
*/

namespace com\vip\svip\osp\service;

class SvipPriceFloatUserInfo {
	
	static $_TSPEC;
	public $v = null;
	public $svipStatus = null;
	public $nickName = null;
	public $svipExpireTime = null;
	public $degreeExpireTime = null;
	public $effectAutoPayOrder = null;
	public $startBeforePayStatus = null;
	public $vipFigureUrl = null;
	public $level = null;
	public $bindMaskMobile = null;
	public $isSvipTimeLimit = null;
	public $isBlackList = null;
	
	public function __construct($vals=null){
		
		if (!isset(self::$_TSPEC)){
			
			self::$_TSPEC = array(
			1 => array(
			'var' => 'v'
			),
			2 => array(
			'var' => 'svipStatus'
			),
			3 => array(
			'var' => 'nickName'
			),
			4 => array(
			'var' => 'svipExpireTime'
			),
			5 => array(
			'var' => 'degreeExpireTime'
			),
			6 => array(
			'var' => 'effectAutoPayOrder'
			),
			7 => array(
			'var' => 'startBeforePayStatus'
			),
			8 => array(
			'var' => 'vipFigureUrl'
			),
			9 => array(
			'var' => 'level'
			),
			10 => array(
			'var' => 'bindMaskMobile'
			),
			11 => array(
			'var' => 'isSvipTimeLimit'
			),
			12 => array(
			'var' => 'isBlackList'
			),
			
			);
			
		}
		
		if (is_array($vals)){
			
			
			if (isset($vals['v'])){
				
				$this->v = $vals['v'];
			}
			
			
			if (isset($vals['svipStatus'])){
				
				$this->svipStatus = $vals['svipStatus'];
			}
			
			
			if (isset($vals['nickName'])){
				
				$this->nickName = $vals['nickName'];
			}
			
			
			if (isset($vals['svipExpireTime'])){
				
				$this->svipExpireTime = $vals['svipExpireTime'];
			}
			
			
			if (isset($vals['degreeExpireTime'])){
				
				$this->degreeExpireTime = $vals['degreeExpireTime'];
			}
			
			
			if (isset($vals['effectAutoPayOrder'])){
				
				$this->effectAutoPayOrder = $vals['effectAutoPayOrder'];
			}
			
			
			if (isset($vals['startBeforePayStatus'])){
				
				$this->startBeforePayStatus = $vals['startBeforePayStatus'];
			}
			
			
			if (isset($vals['vipFigureUrl'])){
				
				$this->vipFigureUrl = $vals['vipFigureUrl'];
			}
			
			
			if (isset($vals['level'])){
				
				$this->level = $vals['level'];
			}
			
			
			if (isset($vals['bindMaskMobile'])){
				
				$this->bindMaskMobile = $vals['bindMaskMobile'];
			}
			
			
			if (isset($vals['isSvipTimeLimit'])){
				
				$this->isSvipTimeLimit = $vals['isSvipTimeLimit'];
			}
			
			
			if (isset($vals['isBlackList'])){
				
				$this->isBlackList = $vals['isBlackList'];
			}
			
			
		}
		
	}
	
	
	public function getName(){
		
		return 'SvipPriceFloatUserInfo';
	}
	
	public function read($input){
		
		$input->readStructBegin();
		while(true){
			
			$schemeField = $input->readFieldBegin();
			if ($schemeField == null) break;
			$needSkip = true;
			
			
			if ("v" == $schemeField){
				
				$needSkip = false;
				$input->readI32($this->v); 
				
			}
			
			
			
			
			if ("svipStatus" == $schemeField){
				
				$needSkip = false;
				$input->readI32($this->svipStatus); 
				
			}
			
			
			
			
			if ("nickName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->nickName);
				
			}
			
			
			
			
			if ("svipExpireTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->svipExpireTime); 
				
			}
			
			
			
			
			if ("degreeExpireTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->degreeExpireTime); 
				
			}
			
			
			
			
			if ("effectAutoPayOrder" == $schemeField){
				
				$needSkip = false;
				$input->readI32($this->effectAutoPayOrder); 
				
			}
			
			
			
			
			if ("startBeforePayStatus" == $schemeField){
				
				$needSkip = false;
				$input->readI32($this->startBeforePayStatus); 
				
			}
			
			
			
			
			if ("vipFigureUrl" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->vipFigureUrl);
				
			}
			
			
			
			
			if ("level" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->level);
				
			}
			
			
			
			
			if ("bindMaskMobile" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->bindMaskMobile);
				
			}
			
			
			
			
			if ("isSvipTimeLimit" == $schemeField){
				
				$needSkip = false;
				$input->readBool($this->isSvipTimeLimit);
				
			}
			
			
			
			
			if ("isBlackList" == $schemeField){
				
				$needSkip = false;
				$input->readBool($this->isBlackList);
				
			}
			
			
			
			if($needSkip){
				
				\Osp\Protocol\ProtocolUtil::skip($input);
			}
			
			$input->readFieldEnd();
		}
		
		$input->readStructEnd();
		
		
		
	}
	
	public function write($output){
		
		$xfer = 0;
		$xfer += $output->writeStructBegin();
		
		if($this->v !== null) {
			
			$xfer += $output->writeFieldBegin('v');
			$xfer += $output->writeI32($this->v);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->svipStatus !== null) {
			
			$xfer += $output->writeFieldBegin('svipStatus');
			$xfer += $output->writeI32($this->svipStatus);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->nickName !== null) {
			
			$xfer += $output->writeFieldBegin('nickName');
			$xfer += $output->writeString($this->nickName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->svipExpireTime !== null) {
			
			$xfer += $output->writeFieldBegin('svipExpireTime');
			$xfer += $output->writeI64($this->svipExpireTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->degreeExpireTime !== null) {
			
			$xfer += $output->writeFieldBegin('degreeExpireTime');
			$xfer += $output->writeI64($this->degreeExpireTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->effectAutoPayOrder !== null) {
			
			$xfer += $output->writeFieldBegin('effectAutoPayOrder');
			$xfer += $output->writeI32($this->effectAutoPayOrder);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->startBeforePayStatus !== null) {
			
			$xfer += $output->writeFieldBegin('startBeforePayStatus');
			$xfer += $output->writeI32($this->startBeforePayStatus);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->vipFigureUrl !== null) {
			
			$xfer += $output->writeFieldBegin('vipFigureUrl');
			$xfer += $output->writeString($this->vipFigureUrl);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->level !== null) {
			
			$xfer += $output->writeFieldBegin('level');
			$xfer += $output->writeString($this->level);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->bindMaskMobile !== null) {
			
			$xfer += $output->writeFieldBegin('bindMaskMobile');
			$xfer += $output->writeString($this->bindMaskMobile);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		$xfer += $output->writeFieldBegin('isSvipTimeLimit');
		$xfer += $output->writeBool($this->isSvipTimeLimit);
		
		$xfer += $output->writeFieldEnd();
		
		$xfer += $output->writeFieldBegin('isBlackList');
		$xfer += $output->writeBool($this->isBlackList);
		
		$xfer += $output->writeFieldEnd();
		
		$xfer += $output->writeFieldStop();
		$xfer += $output->writeStructEnd();
		return $xfer;
	}
	
}

?>